package com.njust.RateMyTray_backend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.njust.RateMyTray_backend.dto.DishCreateDTO;
import com.njust.RateMyTray_backend.dto.DishUpdateDTO;
import com.njust.RateMyTray_backend.entity.Dish;
import com.njust.RateMyTray_backend.vo.DishDetailVO;
import com.njust.RateMyTray_backend.vo.DishVO;

import java.util.List;

public interface DishService extends IService<Dish> {
    List<DishVO> getHotDishesByWindowId(long windowId);
    DishDetailVO getDishDetails(Long dishId);
    
    Dish createDish(Long windowId, Long merchantId, DishCreateDTO createDTO);
    
    void updateDishByMerchant(Long dishId, Long merchantId, DishUpdateDTO updateDTO);
    
    void deleteDishByMerchant(Long dishId, Long merchantId);

    void auditDish(Long dishId, String status);

    List<DishVO> getPendingDishes();

    List<DishVO> getDishesByTag(List<String> tagNames);
} 